﻿/**
* Скрипт отображающий статистическую информацию
*/
var container = Ext.getCmp(sectionId);
Ext.onReady(function () {
    var statsPanel = {
        xtype: 'grid',
        frame: true,
        store: new Ext.data.JsonStore({
            root: 'data',
            idProperty: 'name',
            storeId: 'statsStore',
            fields: [
                'name',
                {
                    name: 'value',
                    type: 'int'
                }
            ]
        }),
        height: 400,
        autoExpandColumn: 'StatsNameColumn',
        id: 'statsGrid',
        selModel: new Ext.grid.RowSelectionModel({
            
        }),
        colModel: new Ext.grid.ColumnModel({
            columns: [
                {
                    header: 'Показатель',
                    dataIndex: 'name',
                    sortable: true,
                    width: 50,
                    align: 'left',
                    id: 'StatsNameColumn',
                    name: 'StatsNameColumn'
                },
                {
                    header: 'Значение',
                    dataIndex: 'value',
                    sortable: true,
                    width: 100,
                    align: 'center',
                    id: 'StatsValueColumn',
                    name: 'StatsValueColumn'
                }]
        }),
        tbar: [
            {
                text: 'Обновить список',
                handler: function() {
                    ReloadStats();
                }
            }
        ],
        listeners: {
            
        }
    };

container.add(statsPanel);
container.doLayout();

/*
* перезагружает панель со статистической информацией
*/
function ReloadStats() {
    Ext.Ajax.request({
        url: '/ControlPanel/ViewStats/GetStats',
        params: {},
        success: function (response, request) {
            var data = Ext.util.JSON.decode(response.responseText);
            if (data.result == "success") {
                Ext.getCmp('statsGrid').getStore().loadData(data);
            } else if (data.result == "errors") {
                Ext.Msg.alert('Ошибка на сервере', data.message);
            }
        },
        failure: function (response, request) {
            var data = Ext.util.JSON.decode(response.responseText);
            Ext.Msg.alert('Ошибка', 'В ходе выполнения AJAX запроса возникла ошибка: ' + data.message);
        },
        method: 'POST'
    });
}
});